package com.atguigu.lease.common.context;

/**
 * @author 李俊伟
 * @date 2024/12/25 16:59
 */

// 把封装了登录用户信息的loginUser对象 保存到ThrealdLocal线程中

public class LoginUserContext {
    // 全局静态常 共享一份数据
    private static ThreadLocal<LoginUser> userThreadLocal = new ThreadLocal<>();

    // 保存数据
    public static void setLoginUser(LoginUser loginUser) {
        userThreadLocal.set(loginUser);
    }

    // 从ThreadLocal<LoginUser>中获取数据
    public static LoginUser getLoginUser() {
        return userThreadLocal.get(); // loginUser
    }

    // 删除数据 （响应前端数据后 从线程中删除 loginUser数据）
    public static void removeLoginUser() {
        userThreadLocal.remove();
    }
}